package com.fowo.api.model.position.flow;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Data;

/**
 * 仓位流水 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Data
public class PositionFlowImportPo {

  /** 操作时间 */
  @ExcelProperty("操作时间")
  @DateTimeString(message = "操作时间不是有效的时间日期格式")
  private String operationTime;

  /** 类型 */
  @ExcelProperty("*类型")
  @NotBlank(message = "类型不能为空")
  private String type;

  /** 单据号 */
  @ExcelProperty("单据号")
  @Size(max = 50, message = "单据号长度不能超过50")
  private String countnum;

  /** 品名 */
  @ExcelProperty("*品名")
  @NotBlank(message = "品名不能为空")
  @Size(max = 500, message = "品名长度不能超过500")
  private String tradeNameName;

  @ExcelIgnore
  @Schema(title = "*品名")
  private String tradeName;

  /** SKU */
  @ExcelProperty("SKU")
  @Size(max = 50, message = "SKU长度不能超过50")
  private String sku;

  /** FNSKU */
  @ExcelProperty("FNSKU")
  @Size(max = 50, message = "FNSKU长度不能超过50")
  private String fnsku;

  /** 店铺 */
  @ExcelProperty("*店铺")
  @NotBlank(message = "店铺不能为空")
  @Size(max = 50, message = "店铺长度不能超过50")
  private String shopShopName;

  @ExcelIgnore
  @Schema(title = "*店铺")
  private String shop;

  /** 仓库 */
  @ExcelProperty("*仓库")
  @NotBlank(message = "仓库不能为空")
  @Size(max = 50, message = "仓库长度不能超过50")
  private String warehouseName;

  @ExcelIgnore
  @Schema(title = "*仓库")
  private String warehouse;

  /** 仓位 */
  @ExcelProperty("*仓位")
  @NotBlank(message = "仓位不能为空")
  @Size(max = 50, message = "仓位长度不能超过50")
  private String warepositionStorageBin;

  @ExcelIgnore
  @Schema(title = "*仓位")
  private String wareposition;

  /** 仓位属性 */
  @ExcelProperty("仓位属性")
  @Size(max = 50, message = "仓位属性长度不能超过50")
  private String wareattribute;

  /** 数量 */
  @ExcelProperty("数量")
  @IntegerString(message = "数量数值格式不正确", label = "数量", min = 0)
  private String num;

  /** 操作人 */
  @ExcelProperty("操作人")
  @Size(max = 50, message = "操作人长度不能超过50")
  private String operation;

  /** 备注 */
  @ExcelProperty("备注")
  @Size(max = 50, message = "备注长度不能超过50")
  private String reamark;
}
